/*
This Tutorial shows how to load a Quake 3 map into the
engine, create a SceneNode for optimizing the speed of
rendering and how to create a user controlled camera.

Lets start like the HelloWorld example: We include
the irrlicht header files and an additional file to be able
to ask the user for a driver type using the console.
*/
#include <iostream>
#include "irrlicht.h"
#include "Game.h"


/*
Again, to be able to use the Irrlicht.DLL file, we need to link with the 
Irrlicht.lib. We could set this option in the project settings, but
to make it easy, we use a pragma comment lib:
*/
//#pragma comment(lib, "Irrlicht.lib")


//! produces a serie of screenshots
/*class CScreenShotFactory : public IEventReceiver
{
public:

	CScreenShotFactory( IrrlichtDevice *device, const c8 * templateName )
	{
		// store pointer to device so we can use it
		Device = device;

		// start with zero
		Number = 0;

		Filename.reserve ( 256 );
		FilenameTemplate = templateName;
	}

	bool OnEvent(const SEvent& event)
	{
		// check if user presses the key F9
		if (event.EventType == EET_KEY_INPUT_EVENT &&
			event.KeyInput.Key == KEY_F9 &&
			event.KeyInput.PressedDown == false)
		{
			video::IImage* image = Device->getVideoDriver()->createScreenShot();
			if (image)
			{
				sprintf (	(c8*) Filename.c_str() ,
							"%s_shot%04d.jpg",
							FilenameTemplate.c_str (),
							Number++
						);
				Device->getVideoDriver()->writeImageToFile(image, Filename.c_str(), 85 );
				image->drop();
			}
		}
		return false;
	}

private:
	IrrlichtDevice *Device;
	u32 Number;
	core::stringc Filename;
	core::stringc FilenameTemplate;
};
*/

/*
Ok, lets start. 
*/

int IRRCALLCONV main(int argc, char* argv[]) {

	Game myGame;
	myGame.Execute();
	return 0;
}


